package com.heiye.blog.ai.model.vo;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author: heiye
 * @date: 2025/11/19 下午9:52
 * @version: v1.0.0
 * @description: 音声生成请求
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SoundGenerationReqVO {
    /**
     * 消息 ID
     */
    @NotNull(message = "消息 ID 不能为空")
    private Long id;

    /**
     * 调用的角色模型名称
     */
    @NotBlank(message = "调用的角色模型名称不能为空")
    private String roleName;

    /**
     * 声音模型
     */
    @NotBlank(message = "声音模型不能为空")
    private String soundModel;

    /**
     * 声音模型版本
     */
    @NotBlank(message = "声音模型版本不能为空")
    private String soundModelVersion;

    /**
     * 语言
     */
    @NotBlank(message = "语言不能为空")
    private String language;

    /**
     * 需要生成的文本
     */
    @NotBlank(message = "需要生成的文本不能为空")
    private String text;

    /**
     * 情感
     */
    private String emotion;
}
